package com.qf.day31_boot.controller;

import com.qf.day31_boot.annotation.NullValidation;
import com.qf.day31_boot.vo.vo.HelloVo;
import com.qf.day31_boot.vo.vo.ResultVo;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("/test1")
    public ResultVo test1(@Valid HelloVo hellovo) { // 使用@valid 开启参数校验功能

        System.out.println(hellovo);

        return new ResultVo(1, "ok");
    }

    @PostMapping("/test2")
    public ResultVo test2(@Valid @RequestBody HelloVo hellovo) { // 使用@valid 开启参数校验功能

        System.out.println(hellovo);

        return new ResultVo(1, "ok");
    }

    @NullValidation
    @GetMapping ("/test3")
    public ResultVo test3(@Valid @NotNull String name, @Valid @NotNull Integer id) { // 使用@valid 开启参数校验功能

        System.out.println(name);

        System.out.println(id);

        return new ResultVo(1, "ok");
    }

}
